Problem
【TJOI2015】线性代数
Description
给出一个的矩阵和一个的矩阵。
求出一个的矩阵,使得最大,输出最大的值。
Input
第一行输入一个整数。
接下来行输入矩阵,第行第个数字代表.
接下来一行输入个整数,代表矩阵。
矩阵和矩阵中每个数字都是不超过的非负整数。
Output
Sample Input
1 | 3 |
Sample Output
1 | 2 |
Hint
标签:网络流
最大权闭合子图
Solution
先化简一下,用和式表示:
由于是矩阵,可以将其看作有个物品,选择取或不去,第给物品取有的代价,第个和第个同时取会有的贡献。要求使总贡献最大。
对于每个物体建一个点,任意两个物体的组合建一个点。对于组合,连接其代表的点和第个物体的点与第个物体的点。对于物体的点,权值设为,对于组合的点,权值设为。这样选择一个组合的点,必须将其连向的两个物体的点也选择,即变为最大权闭合子图模型。
建模:
- 对每个物体建一个点,连接流量
- 对每个组合建一个点,连接流量
- 对于每个组合,连边流量,连边流量
跑最大流求最小割,答案为。
Code
1 |
|